home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
data
/
dora
/
doralgin.plp
< prev
next >
Wrap
Text File
|
1993-11-30
|
7KB
|
239 lines
/************************************************************************
* ログイン処理 *
*************************************************************************/
/* 初期設定処理 */
%initmode{
case (@tail(MODEM,{00}),
{m},{rscs({Yes});xon({Yes});flyingx({Yes});dispecho({Yes})},
{s},{rscs({Yes});xon({No});flyingx({Yes});dispecho({Yes})},
{n},{rscs({No});xon({Yes});flyingx({No});dispecho({No})});
lineend({CRLF}); ctrl({Yes}); stopbit({1});
parity({None}); dataleng({8bit}); flyline({4});
sendtype({Line}); code({sjis}); crmode({Yes});
esc({Yes}); crchg({Yes});
};
%selM {
select (
{確認して下さい。(オートリダイアルは「20秒後です」)},
20,{im({Yes})},
{CALLING AGIN},{im({Yes})},
{MENUへ戻る},{display({つながらねえな!});RETCD:={Cancel};im({No})}
)
};
/* 電話接続 */
%callTEL{
display({\n}|NET|{-NETに電話をかけます\n});
case(@getchar(@nth(MODEM,2,{_}),1,4),
{1200},{baud(1200)},{2400},{baud(2400)},
{4800},{baud(4800)},{9600},{baud(9600)},
{},{baud(2400)});
loop ({ dialone({AT}|@nth(MODEM,1,{/})|@nth(MODEM,2,{/})|
{D}|DIAL|@nth(sROAD,1,{/}),
{footnote(NET|{-NETに接続して居ます});im({No})},
{display({\nだれかが使ってますよ\n});selM});
})
};
/* RS-232C クロス接続 */
%call232C{case (@tail(sROAD,{/}),
{1200},{baud(1200)},{2400},{baud(2400)},
{4800},{baud(4800)},{9600},{baud(9600)},
{},{baud(2400)});
case (@head(MODEM,{/}),
{RET},{type({\n})},
{ESC},{type({})})};
/* 回線接続処理 */
%callrd2{ case (@tail(MODEM,{00})={s},
{No},{callTEL},
{Yes},{call232C})};
/* オートパイロット開始処理 */
%Aisatu{
loop ({wait({3},{im({Yes})}
,{システムがダウンしました},
{AbortOff({\nホストのシステムがダウンしちゃった~\n});im({No})}
,{IDを入力してください},{type(ID|{\n});im({No})}
,{USER ID =},{type(ID|{\n});im({No})}
,{User ID =},{type(ID|{\n});im({No})});
});
wait(Wtime2,
{
case(PassWord={*}||PassWord={},
{Yes},{SNDMSG({nyuryo_f.snd});
type(@input({パスワードを入力してください})|{\n})},
{No},{type(PassWord|{\n})}) }
,{パスワードを入力してください},{}
,{パスワードを入力してください},{}
,{Password =},{});
case(PassWord={*}||PassWord={},
{Yes},{SNDMSG({nyuryo_f.snd});type(@input(
{パスワードを入力してください})|{\n})},
{No},{type(PassWord|{\n})})};
%AUTOLOGIN{
display({\n}|NET|{-NETへの接続を開始します\n\n});
footnote(NET|{-NETへの接続処理をしています});
initmode;
case (sROAD={}||ID={},
{Yes},{
display({電話番号かユーザーIDが指定されていません});
footnote({電話番号とユーザーIDを指定して下さい});
SNDMSG({okasi_f.snd})},
{No},{
callrd2;
case (RETCD,
{Start},{Aisatu}
);
}
)};
/** 伝言板処理 & ボード書き込み表示 **/
case(@filechk(UP|{\DENGO}),
{Yes},{display({\n伝言板への書き込みを実行します。\n})},
{No},{display({\n伝言板には書かないよ~ん。\n})});
case(@filechk(UP2|{_mopres.ctl})||@filechk(UP2|{_mopupld.ctl}),
{Yes},{display({\nボードへの書き込みを実行します。\n})},
{No},{display({\n時にはROMだけの事も有るさ!\n})});
/************************************************************************/
/*RT-BBSの限定許可時間帯付チャンネルに対して自動実行開始する */
/************************************************************************/
%WAITGENNTEI{
case(openT={} || closeT={},
{Yes},{
SNDMSG({okasi_f.snd});footnote({開閉局時間が未設定です});
wait(5);RETCD:={Cancel}
},
{No},{
footnote(openT|{ - }|closeT|{の間に自動通信を開始します。});
wait(3);
%nowhh @getchar(@daylong,16,2);
case (nowhh>=openT || nowhh<closeT,
{Yes}, {RETCD:={Start}},
{No}, {WAITS(openT|{:05})}
);
});
};
%WAITSETTIME{
%access ACCESS;
footnote({通信開始時刻を設定してください});
loop ({
%a @plane(
{c通信開始時刻を指定してください [HH:MM]\n}|
{c 現在時刻は }|@getchar(@daylong,16,5)|{ です\n}|
{t 設定時刻 /xxxxx\n}|
{s / 設定 / 取消 / 即時 \n},
);
%access @head(@getline(a,1,1),{\n});
%ok @head(@getline(a,2,1),{\n});
case (ok,
{ 1},
{
case (@getchar(access,1,2)>=0 &&
@getchar(access,1,2)<=23 &&
@getchar(access,3,1)={:} &&
@getchar(access,4,2)>=00 &&
@getchar(access,4,2)<=59,
{Yes},{ACCESS:=access;WAITS(access);im({No})},
{No},{im({Yes})}
);
},
{ 2},
{RETCD:={Cancel};im({No})},
{ 3},
{RETCD:={Start};im({No})},
,{im({Yes})}
);
});
};
%WAITS {
[access]
var waits [6];
%hh @getchar(access,1,2);
%mm @getchar(access,4,2);
loop ({
%now @daylong;
%nowhh @getchar(now,16,2);
%nowmm @getchar(now,19,2);
%nowss @getchar(now,22,2);
waits:= ((hh*60+mm)*60) - ((nowhh*60+nowmm)*60+nowss);
case (waits<(-60),{Yes},{waits:=waits+24*60*60});
case (waits<0,{Yes},{waits:=1});
footnote(access|{に自動通信を開始します。}|
{ PF10:通信メニューへ PF12:即時開始});
waitx (waits);
case (@xtype,
{-2}, /* 指定時刻 */
{SNDMSG({jikan_f.snd});RETCD:={Start};im({No})}, {110}, /* PF10 通信メニューへ */
{RETCD:={Cancel};im({No})},
{112}, /* PF12 即時開始指定 */
{RETCD:={Start};im({No})},
,{im({Yes})}
);
});
};
/******** 実行 ********/
case (sROAD={},
{Yes},{sROAD:=@im(ROAD)},
{No}, {
case (@getchar(sROAD,1,1)={/},
{Yes},{sROAD:=@im(ROAD)},
{No},{})
}
);
%CHECK3AM{
case (AM3,
{Yes}, {WAITGENNTEI},
{Detail}, {WAITSETTIME},
,{RETCD:={Start}}
)
};
case (@linechck,
{Yes},
{
SNDMSG({kaknin_f.snd});
footnote({回線接続中です。}|NET|{にログインし直しますか});
select ({回線接続中です。}|NET|{にログインし直しますか},
Wtime4,
{CHECK3AM},
{}|NET|{にログインした後、実行する},
{CHECK3AM},
{ログインし直さず、そのまま実行する},
{initmode;RETCD:={NoLOG}}
);
},
{No},{CHECK3AM}
);
case (RETCD,{Cancel},{ },
{NoLOG},{RETCD:={Start}},
{Start},
{
AUTOLOGIN;
case (RETCD,{Cancel},{ },
{Start},
{
loop ({
wait({3},{im({Yes})}
,{● 改行して下さい ●},{type({\n});im({Yes})}
,{システムがダウンしました},
{AbortOff({\nホストのシステムがダウンしちゃった~\n})}
,{お知らせはありません},{im({Yes})}
,{メールはないよ},{im({No})}
,{メールはありません},{im({No})}
,{お手紙が},{im({No})}
,{新しく届いたメールが},{
loop ({
wait({3},{im({Yes})},
{,?,@,O},{im({No})},
{,?,O},{im({No})},
{quit},{type({0\n});im({No})})
});im({No})
}
,{§システムからのお知らせ},
{ DOWNSTART;
loop ({
wait({3},{im({Yes})},
{メッセージは以上です},{im({No})})
});
DOWNSTOP;im({No})
});
});
});
});